技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2017 iT 邦幫忙鐵人賽
DAY
17
1
自我挑戰組
你看微客=[ 前端領域 - 超入門 ]
系列 第
17
篇
Ajax---[ Ajax、JSON、JSONP ]---無用小觀念
2017鐵人賽
ucvic
2016-12-29 19:57:51
2474 瀏覽
分享至
Ajax、JSON、JSONP
Ajax ( Asynchronous Javascript and XML ) 指的是
網頁伺服器回應網頁請求,在不重新載入頁面的情況下更新的技術
,如 FB 的按讚、登入而不離開網頁、投票與評分等都是 Ajax 技術的應用。
Ajax 實際是借由瀏覽器、Javascript、網頁伺服器,此三種元件搭配運作來實現:
瀏覽器:接收使用者操作來觸發事件,並利用
內建的 XMLHttpRequest 物件
連結 Javascript 語言。
Javascript:利用 XMLHttpRequest 物件提供的方法及屬性來送出請求給網頁伺服器,然後等待、處理回應,並
以載入部分頁面的方式來更新網頁
。
網頁伺服器:接收請求並回應資訊給瀏覽器,一般是
回傳 JSON 或 XML 格式的資料
。
XMLHttpRequest 物件提供 GET 及 POST 兩種不同的方法來傳送資料給瀏覽器,
採用何種方式需視伺服器端如何設計而定
。
GET 方法會將要傳送的索引資料接在 URL 之後,於 URL 欄可見,安全性較差,
適合不會影響伺服器端資料庫或檔案的請求
。
POST 方法會將傳送的資料與 URL 分開,於 URL 欄可見,安全性較高,
當發出請求所傳送的資料會影響伺服器端資訊時較適用
。
JSON ( Javascript Object Notation ) 的格式與 Javascript 物件非常相似,瀏覽器可以快速的將其轉換為 Javascript 可處理的物件,而 XML 在處理之前須先解析其 DOM ,才能讓 Javascript 進行處理,耗費較多時間與資源,故目前 JSON 是 Ajax 交換資料較常見的格式。
JSON 格式與 Javascript 物件的主要差異在於,
JSON 物件的屬性名稱需使用雙引號包圍,且資料皆為字串形式,其內容同樣要用雙引號包圍
。
範例:
{ "name" : "vic", "sex" : "male", "age" : "34" }
Ajax 請求因為安全性的考量,被瀏覽器限制在同一來源。
JSONP ( JSON with padding ) 提供從其他網站讀取資料的方式,其方法就像是連結第三方網站的外部 Javascript 檔案。
目標第三方網站必須設定能回應 JSONP
,才能使用 JSONP 對其請求資料。
留言
追蹤
檢舉
上一篇
jQuery---[ 外掛 ( plug-in )、jQuery UI ]---無用小觀念
下一篇
RWD---[ 響應式網站 ( 一 ) ]---無用小觀念
系列文
你看微客=[ 前端領域 - 超入門 ]
共
30
篇
目錄
RSS系列文
訂閱系列文
17
人訂閱
26
React---[ 自訂元件、props特性 ]---無用小觀念
27
React---[ state 狀態、事件處理 ]---無用小觀念
28
React---[ JSX ]---無用小觀念
29
Git---[ Git 基本觀念 ]
30
30天鐵人賽---[ 參賽心得 ]
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
929
組
團體組數
32
組
累計文章數
13084
篇
完賽人數
156
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
17th鐵人賽
14th鐵人賽
12th鐵人賽
18th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
熱門問題
六個語言的 README,要一比一翻完整,還是只寫到「裝得起來」就好?
「相容 MySQL 協議」的引擎,你們是怎麼做能力偵測的?我們試了 42 種,結論有點慘
本地跑模型做評測,你們是怎麼給 context 長度設上限的?我們沒設,7.1 GB 的模型吃掉了 51 GB
熱門回答
六個語言的 README,要一比一翻完整,還是只寫到「裝得起來」就好?
本地跑模型做評測,你們是怎麼給 context 長度設上限的?我們沒設,7.1 GB 的模型吃掉了 51 GB
熱門文章
用 Gemini 打造《智數 Sudoku Master》網頁數獨:能推理、能拍照解答的科技結晶,只有一處美中不足?
桌面、手機、網站都要接 OAuth2 登入,能用同一套嗎?
iThome 鐵人賽的連續 30 天發文挑戰 區塊鏈與資安實戰
密碼學基礎複習:Hash、非對稱加密與數位簽章在區塊鏈的應用
講到 IT 監控,你一定聽過 SolarWinds--但你真的了解它在做些什麼嗎?
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}